﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using vudu.Presentacion.Presentador.VU_03_Gestionar_Pensum_por_Escuela;
using vudu.Presentacion.Contrato.VU_03_Gestionar_Pensum_por_Escuela;

namespace vudu.Presentacion.Vista.VU_03_Gestionar_Pensum_por_Escuela
{
    public partial class AgregarPrelacion : System.Web.UI.Page, IContratoAgregarPrelacion
    {
        private PresentadorAgregarPrelacion _presentador;

        protected void Page_Load(object sender, EventArgs e)
        {
            _presentador = new PresentadorAgregarPrelacion(this);
            if (_presentador.Rol != "Escuela")
                Response.Redirect("../VU_15 Gestion de Acceso/InicioSistema.aspx");
            _presentador.MostrarNombreUsuario();
            if (!Page.IsPostBack)
            {
                _presentador.CargarMateriasDePensumPorSemestre();
            }

        }

        public Label Error
        {
            get { return Label6; }
        }

        public DropDownList Lista
        {
            get { return uxNumSemestre; }
        }

        public GridView TablaMaterias
        {
            get { return uxMateriasDePensum; }
        }

        public GridView TablaPrelaciones
        {
            get { return uxPrelacionesDeMateria; }
        }

        public Label Actor
        {
            get { return uxNombreUsuario; }
        }

        public HttpSessionState Sesion
        {
            get { return Session; }
        }

        protected void uxNumSemestre_SelectedIndexChanged(object sender, EventArgs e)
        {
            _presentador.CargarMateriasDePensumPorSemestre();
        }

        protected void uxMateriasSemestres_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void uxMateriasSemestres_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {

        }

        protected void uxMateriasPrelaciones_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void uxMateriasPrelaciones_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            _presentador.PaginacionPrelaciones(e);
        }

        protected void uxBotonAgregarPrelacion_Click(object sender, EventArgs e)
        {
            _presentador.AgregarPrelacionesAMateria();
            _presentador.CargarMateriasDePensumPorSemestre();

        }

        protected void uxBotonAceptar_Click(object sender, EventArgs e)
        {
            Response.Redirect("ConsultarPensum.aspx");
        }

        public void GridView1_SelectedIndex(object sender, EventArgs e)
        {
            _presentador.SeleccionarMateriaParaPrelacion(sender);
            Session["MateriaActual"] = _presentador.MateriaActual;
            
        }

        protected void uxCancelar_Click(object sender, EventArgs e)
        {
            _presentador.CancelarPrelacion();
        }
    }
}